import { dbGlobal } from "drizzle-pkg/lib/db"; import { users, sessions } from "drizzle-pkg/lib/schema/auth"; import { eq } from "drizzle-orm"; import log4js from "logger"; const logger = log4js.getLogger("USERS"); export default defineWrappedResponseHandler(async (event) => { const id = Number(event.context.params?.id); if (!id || isNaN(id)) { throw createError({ statusCode: 400, statusMessage: "无效的用户ID", }); } const [user] = await dbGlobal .select({ id: users.id, username: users.username }) .from(users) .where(eq(users.id, id)); if (!user) { throw createError({ statusCode: 404, statusMessage: "用户不存在", }); } await dbGlobal.delete(sessions).where(eq(sessions.userId, id)); await dbGlobal.delete(users).where(eq(users.id, id)); logger.info("user deleted by admin: %s (id: %d)", user.username, id); return R.success({ message: "用户已删除" }); });